package cn.com.huzo.model.entities.manufacture;

import huzofw.model.entities.BaseEntity;
import huzofw.model.entities.IAggregateRoot;
import java.io.Serializable;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 领料单明细实体类
 *
 * @author 吴旭
 */
public class RequisitionSlipLinesEntity extends BaseEntity implements Serializable, IAggregateRoot {

    private static final long serialVersionUID = 2089973638623021546L;
    private String LinesId;
    private Long HeaderId;                  // 出库单标识
    private String MrpLinesId;              // 物料需求明细ID
    private String SupplierName;            // 供应商
    private String MaterialName;            // 材料名
    private String MaterialCode;
    private String PartOfNeed;              // 用料部位
    private Integer ProductQuantity;        // 成品数量 
    private Double FloatingIncrement;       // 生产浮动增量
    private Integer SuitCutQuantity;        // 套裁数量
    private String ProductSizeName;         // 成品规格
    private String UomName;
    private String ProductColourName;       // 成品色
    private Double FactoryPieceYardage;     // 工厂用量
    private Double SuitCutPieceYardage;     // 套裁用量
    private Double SeamPieceYardage;        // 生产单用量，默认=工厂单用量 
    private String FabricWidth;             // 幅宽
    private String MaterialColourName;      // 材料色
    private String Specification;           // 材料规格
    private Double MrpPlanQuantity;         // 需要量=必要数？            
    private Double MrpRealQuantity;         // 补给数   
    private String Description;             // 备注
    private Boolean QuotedFlag;             // 领料单明细被出库引用标记   

    public String getLinesId() {
        return LinesId;
    }

    public void setLinesId(String LinesId) {
        this.LinesId = LinesId;
    }

    public Long getHeaderId() {
        return HeaderId;
    }

    public void setHeaderId(Long HeaderId) {
        this.HeaderId = HeaderId;
    }

    public String getMrpLinesId() {
        return MrpLinesId;
    }

    public void setMrpLinesId(String MrpLinesId) {
        this.MrpLinesId = MrpLinesId;
    }

    public String getSupplierName() {
        return SupplierName;
    }

    public void setSupplierName(String SupplierName) {
        this.SupplierName = SupplierName;
    }

    public String getMaterialName() {
        return MaterialName;
    }

    public void setMaterialName(String MaterialName) {
        this.MaterialName = MaterialName;
    }

    public String getMaterialCode() {
        return MaterialCode;
    }

    public void setMaterialCode(String MaterialCode) {
        this.MaterialCode = MaterialCode;
    }

    public String getPartOfNeed() {
        return PartOfNeed;
    }

    public void setPartOfNeed(String PartOfNeed) {
        this.PartOfNeed = PartOfNeed;
    }

    public Integer getProductQuantity() {
        return ProductQuantity;
    }

    public void setProductQuantity(Integer ProductQuantity) {
        this.ProductQuantity = ProductQuantity;
    }

    public Double getFloatingIncrement() {
        return FloatingIncrement;
    }

    public void setFloatingIncrement(Double FloatingIncrement) {
        this.FloatingIncrement = FloatingIncrement;
    }

    public Integer getSuitCutQuantity() {
        return SuitCutQuantity;
    }

    public void setSuitCutQuantity(Integer SuitCutQuantity) {
        this.SuitCutQuantity = SuitCutQuantity;
    }

    public String getProductSizeName() {
        return ProductSizeName;
    }

    public void setProductSizeName(String ProductSizeName) {
        this.ProductSizeName = ProductSizeName;
    }

    public String getUomName() {
        return UomName;
    }

    public void setUomName(String UomName) {
        this.UomName = UomName;
    }

    public String getProductColourName() {
        return ProductColourName;
    }

    public void setProductColourName(String ProductColourName) {
        this.ProductColourName = ProductColourName;
    }

    public Double getFactoryPieceYardage() {
        return FactoryPieceYardage;
    }

    public void setFactoryPieceYardage(Double FactoryPieceYardage) {
        this.FactoryPieceYardage = FactoryPieceYardage;
    }

    public Double getSuitCutPieceYardage() {
        return SuitCutPieceYardage;
    }

    public void setSuitCutPieceYardage(Double SuitCutPieceYardage) {
        this.SuitCutPieceYardage = SuitCutPieceYardage;
    }

    public Double getSeamPieceYardage() {
        return SeamPieceYardage;
    }

    public void setSeamPieceYardage(Double SeamPieceYardage) {
        this.SeamPieceYardage = SeamPieceYardage;
    }

    public String getFabricWidth() {
        return FabricWidth;
    }

    public void setFabricWidth(String FabricWidth) {
        this.FabricWidth = FabricWidth;
    }

    public String getMaterialColourName() {
        return MaterialColourName;
    }

    public void setMaterialColourName(String MaterialColourName) {
        this.MaterialColourName = MaterialColourName;
    }

    public String getSpecification() {
        return Specification;
    }

    public void setSpecification(String Specification) {
        this.Specification = Specification;
    }

    public Double getMrpPlanQuantity() {
        return MrpPlanQuantity;
    }

    public void setMrpPlanQuantity(Double MrpPlanQuantity) {
        this.MrpPlanQuantity = MrpPlanQuantity;
    }

    public Double getMrpRealQuantity() {
        return MrpRealQuantity;
    }

    public void setMrpRealQuantity(Double MrpRealQuantity) {
        this.MrpRealQuantity = MrpRealQuantity;
    }

    public String getDescription() {
        return Description;
    }

    public void setDescription(String Description) {
        this.Description = Description;
    }

    public Boolean getQuotedFlag() {
        return QuotedFlag;
    }

    public void setQuotedFlag(Boolean QuotedFlag) {
        this.QuotedFlag = QuotedFlag;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof RequisitionSlipLinesEntity)) {
            return false;
        }

        final RequisitionSlipLinesEntity that = (RequisitionSlipLinesEntity) o;

        return new EqualsBuilder()
                .append(this.getLinesId(), that.getLinesId())
                .isEquals();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public int hashCode() {
        int result = 17;
        result = 31 * result + this.getLinesId().hashCode();

        return result;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}
